package com.lhy.dao;

import com.lhy.domain.User;
import com.lhy.utils.Pagination;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 汪
 */
@Repository
public interface UserDao {

    /**
     * 通过用户名进行查找
     * @param username
     * @param password
     * @return
     */
    User queryByUserNameAndPassword(@Param("username") String username, @Param("password") String password);

    /**
     * 修改密码
     * @param password1
     * @param password2
     * @return
     */
    int updatePassword(@Param("password1") String password1,@Param("password2") String password2);

    /**
     * 查询所有
     * @return
     */
    List<User> userShow(Pagination<User> page);

    /**
     * 查询部分用户
     * @param id
     * @param realName
     * @param role
     * @return
     */
    List<User> findSomeUser(@Param("id") Integer id,@Param("realName") String realName,@Param("role") String role);

    /**
     * 添加用户啊
     * @param u
     * @return
     */
    int addUser(User u);

    /**
     * 删除用户
     * @param id
     * @return
     */
    int deleteUser(int id);

    /**
     * 通过id查询
     * @param id
     * @return
     */
    User findUserById(Integer id);

    /**
     * 修改user信息
     * @param u
     * @return
     */
    int updateUser(User u);

    /**
     * 添加
     * @param user
     * @return
     */
    int addUserAbdoutMember(User user);

    /**
     * 修改
     * @param memberId
     * @param id
     */
    void updateMemberUser(@Param("memberId") Integer memberId, @Param("id") Integer id);

    /**
     * 修改部分信息
     * @param user
     * @return
     */
    int modifyNameAndTel(User user);

    List<User> findSomeUser1(Pagination<User> page);

    void addUserAbdoutDoctor(User user);

    void updateDoctorUser(@Param("name") String name, @Param("id") Integer id);
}
